/****** Script for SelectTopNRows command from SSMS ******/ SELECT * FROM Sales order by sale_date SELECT DISTINCT SALE_DATE FROM Sales; --Date wise sales select sale_date,sum(totalprice) from sales group by sale_date; --Date wise total sales in descending order on date select sale_date,sum(totalprice) from sales group by sale_date order by sale_date desc; SELECT * FROM Sales order by sale_date --Date wise total sales in descending order on sales amount select sale_date,sum(totalprice) from sales group by sale_date order by totalprice desc; --Above query will return error. --Ordering using aggregate function select sale_date,sum(totalprice) from sales group by sale_date order by sum(totalprice) desc; --Ordering using aggregate function's alias name select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date order by SalesAmt desc; --Having key word select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date order by SalesAmt desc; select * from sales where TotalPrice < 10000 --Having caluse will filter the grouped result. select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date having sum(TotalPrice) > 5000 select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date having sum(TotalPrice) > 5000 select * from sales select * from sales where sale_date > '2022-01-15' --Where, Group by and Having select sale_date,sum(totalprice) as SalesAmt from sales where sale_date > '2022-01-15' group by sale_date having sum(TotalPrice) > 5000 select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date having sum(TotalPrice) > 5000 order by sum(totalprice) asc --Using alias name in the order by clause. select sale_date,sum(totalprice) as SalesAmt from sales group by sale_date having sum(TotalPrice) > 5000 order by SalesAmt asc --Where condition will filter the actual table records. --Having caluse will filter the grouped records.